字节流 vs 字符流

  1. 字节流操作的基本单元为字节(Byte);字符流操作的基本单元为 Unicode 编码字符(2 个 Byte)

  2. 字节流默认不使用缓冲区;字符流使用缓冲区

  3. 字节流通常用于处理二进制数据,实际上它可以处理任意类型的数据,但它不支持直接写入或读取 Unicode 字符;字符流通常处理文本数据,它支持写入及读取 Unicode 字符

缓冲区与缓冲流

IO 本质传递的内容都是字节流,字符是程序对字节的一种包装,外部设备存储等最终存储的都是字节,因此字符流需要一个缓冲区来做转换:字符 <-> 字节,所以此处缓冲区与缓冲流概念不一样

验证方式:字节流没有缓冲区,是直接输出的,如果不调用 close() 方法,已经可以在文件中看到输出的数据;但是字符流是输出到缓冲区的,字符流只有在调用 close() 方法关闭缓冲区时,信息才输出(或者调用 flush() 刷新缓冲区)

字符流

Last Updated: 7/1/2020, 2:19:02 AM